/**
 * 
 */
package PyroBots.Controlleur;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;

import PyroBots.Modele.Flotte;
import PyroBots.Modele.RobotSerialisablePourFlotte;
import PyroBots.Vue.VueFlotte;

public class CFlotte implements Serializable {

	private VueFlotte vueFlotte;

	public CFlotte(VueFlotte v) {
		flotte = new Flotte();
		vueFlotte  = v;
	}

	private Flotte flotte;

	public Flotte getFlotte() {
		return flotte;
	}

	public void setFlotte(Flotte flotte) {
		this.flotte = flotte;
	}
	
	public void serialiserFlotte(String nomFichier) throws IOException{

	    try {
	      FileOutputStream fichier = new FileOutputStream(nomFichier);
	      ObjectOutputStream oos = new ObjectOutputStream(fichier);
	      oos.writeObject(flotte.getFlotteSerialisable());
	      oos.flush();
	      oos.close();
	    }
	    catch (java.io.IOException e) {
	      throw e;
	    }
	}
	
	public boolean deserialiserFlotte(String nomFichier) throws ClassNotFoundException, IOException{
		try {
		      FileInputStream fichier = new FileInputStream(nomFichier);
		      ObjectInputStream ois = new ObjectInputStream(fichier);
		      Set<RobotSerialisablePourFlotte> tab = (Set<RobotSerialisablePourFlotte>) ois.readObject();
		      flotte.setFlotteSerialisable(tab);
		    }
		    catch (java.io.IOException e) {
		      throw e;
		    }
		    catch (ClassNotFoundException e) {
		      throw e;
		    }
		
		    return true;
	}
}